package com.zzl.study.demo.dao;

import com.zzl.study.demo.domain.TodoItem;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 待办事项数据仓库
 *
 * @author: zhangzl
 * @date: 2025/10/14 15:19
 * @version: 1.0
 */
@Repository
public interface TodoItemRepository extends JpaRepository<TodoItem, Integer> {

    /**
     * 根据标题查询待办事项
     *
     * @param title 标题
     * @return 待办事项列表
     */
    @Query("SELECT t FROM TodoItem t WHERE t.title = :title")
    List<TodoItem> findTodoItemsByTitle(@Param("title") String title);

    /**
     * 查询截止到今天的所有待办事项
     *
     * @param today 今天的日期
     * @return 待办事项列表
     */
    @Query("SELECT t FROM TodoItem t where t.deadline <= :today")
    List<TodoItem> findTodoItemsByDeadlineBefore(@Param("today") LocalDateTime today);

}
